#ifndef REMOTEHOST_H
#define REMOTEHOST_H

#include "remotetcpsocket.h"
///
/// \brief The RemoteHost class
///
/// 用于图像采集端使用
class EREMOTEPROTOCOLSHARED_EXPORT RemoteHost : public RemoteTcpSocket
{
    Q_OBJECT
public:
    explicit RemoteHost(QObject *parent = nullptr);
    virtual ~RemoteHost() override;
    bool sendCreateWindow(int wid, int width, int height, int codec);
    bool sendWindowFramebuffer(int wid, const QByteArray &data);
    bool sendCutText(const QString &text);
protected:
        virtual void parsePacket(QByteArray &pkt) override;
signals:
    void receivedKey(int wid, int key, bool isPress);
    void receivedMouse(int wid, int key, bool isPress, int x, int y);
    void receivedCutText(const QString& text);
    void receivedWheel(int wid, int delta);
    void receivedStartCap();
    void receivedPauseCap();
};

#endif // REMOTEHOST_H
